package com.yang.service;

import com.yang.dto.DigitalHumanTaskDTO;
import com.yang.dto.DigitalHumanVideoDTO;
import com.yang.dto.req.VideoCreationRequest;
import com.yang.entity.AudioRecord;
import org.springframework.web.multipart.MultipartFile;

/**
 * 视频生成服务接口
 * 作者： yang
 * 时间： 2025/07/07
 */
public interface GenerateVideoService {

    /**
     * 开始生成视频
     *
     * @param params 文字和图片URL
     * @return 包含任务ID的DTO
     * @throws Exception 异常信息
     */
    DigitalHumanTaskDTO startCreateVideo(VideoCreationRequest params) throws Exception;

    /**
     * 执行视频生成任务
     * 由定时任务调用，处理队列中待处理的视频生成请求
     */
    void executeVideoGenerationTasks();

    /**
     * 查询视频任务状态
     *
     * @param digitalHumanId 数字人ID
     * @return 视频地址
     */
    String queryVideoTaskStatus(Long digitalHumanId);
}
